Data for Life: Tracking ORT Access for the World’s Most Vulnerabl
1 A Story of Care and Resilience
In a world often captivated by cutting-edge medical breakthroughs, it’s easy to overlook the quiet, lifesaving power of something as simple as a spoonful of salt and sugar mixed into clean water. Diarrhoea remains one of the leading causes of death among children under the age of five, especially in low-income regions. The tragedy lies not only in the illness itself, but in the heartbreaking reality that the treatment — Oral Rehydration Therapy (ORT) — is widely known, incredibly effective, and profoundly affordable. Despite this, millions of children still go without it, due to barriers such as poverty, misinformation, and fragile healthcare systems. This report brings those hidden struggles into view, not through individual stories, but through global data that represents the lives of real children, families, and frontline workers. Within these visuals, you’ll uncover patterns of progress, areas of inequity, and the undeniable impact of community health efforts. Behind every percentage point lies a child who might have lived — or did — because of this humble solution. This is more than a data analysis; it’s a story of resilience, equity, and the collective power to save lives — one sip at a time.
Show/Hide Code
import polars as plimport pandas as pdimport plotly.express as pximport plotly.graph_objects as goimport geopandas as gpdimport statsmodels.api as smfrom plotly.subplots import make_subplotstry: diarrhoea_df = pl.read_csv("cleaned_data_1_no_null.csv") metadata_df = pl.read_csv("cleaned_data_0_no_null.csv")exceptFileNotFoundErroras e:print(f"Error loading data files: {e}")print("Please ensure both CSV files are in the working directory") exit()sample_df = diarrhoea_df.to_pandas()df = diarrhoea_df.join( metadata_df, on=["country"], how="inner").filter( (pl.col("sex") =="Total") & (pl.col("time_period") == pl.col("year")))pdf = df.to_pandas()pdf = pdf.sort_values("time_period")
2 Key Indicators of Global Diarrhoea Treatment Efforts
This map exposes a troubling disparity: while oral rehydration therapy (ORT) can prevent most diarrhea-related child deaths, access remains shockingly unequal. Some regions achieve near-universal coverage, yet Sub-Saharan Africa and South Asia lag behind - despite ORT costing just pennies.
Progress exists (like Bangladesh’s success story), but remains fragile. Pandemic disruptions revealed how quickly gains can vanish. Worse, gender gaps persist in some areas, with girls less likely to receive treatment than boys.
The tragedy? We have the solution. The challenge? Delivering it equitably. Every data point represents a life that could be saved with simple, affordable care. The question isn’t medical - it’s about justice for the world’s most vulnerable children.
3.2 2. Bar Chart: ORT Treatement by Gender
Show/Hide Code
import plotly.graph_objects as gocountries = sample_df["country"].unique()fig_bars = go.Figure()color_map = {"Male": "rgba(22,128,60, 0.7)","Female": "rgba(179,225,173,255)","Total": "rgba(0,103,42,255)"}#for country in countries: df_filtered = sample_df[sample_df["country"] == country] df_latest = df_filtered[df_filtered["time_period"] == df_filtered["time_period"].max()] fig_bars.add_trace(go.Bar( x=df_latest["sex"], y=df_latest["obs_value"], name=country, visible=(country == countries[0]), marker=dict(color=[color_map.get(sex, "rgba(44, 160, 44, 0.7)") for sex in df_latest["sex"]]), width=0.3 ))buttons = [dict( label=country, method="update", args=[ {"visible": [c == country for c in countries]}, {"title.text": f"{country}"} ] )for country in countries]fig_bars.update_layout( updatemenus=[dict( buttons=buttons, direction="down", showactive=False, x=1.05, xanchor="left", y=1.0, yanchor="top", pad={"r": 4, "t": 4}, font=dict(size=12) ) ], title={"text": f" {countries[0]}", "x": 0.5}, xaxis_title="Gender", yaxis_title="% Receiving ORT", template="plotly_white", bargap=0.2, barmode='group')fig_bars.show()
Equal Treatment, Promising Progress
Global data shows near-identical ORT treatment rates for boys and girls with diarrhea, with girls slightly ahead in recent years—a significant achievement in health equity. This parity reflects successful interventions ensuring equal access to this life-saving care. While treatment rates are balanced, subtle differences may persist in prevention and follow-up. The equal bars represent real progress, proving that when simple, effective solutions are prioritized, gender gaps in basic healthcare can be closed. However, continued focus is needed to maintain and expand this equity across all aspects of child health
3.3 3. Trend Over Time for Selected Country
Show/Hide Code
import plotly.express as pximport plotly.graph_objects as godf_total = sample_df[sample_df["sex"] =="Total"]countries = df_total["country"].unique()fig = go.Figure()pattern_shapes = ["x", "/", "\\", ".", "+"]green_transparent ="rgba(0, 128, 0, 0.3)"for i, country inenumerate(countries): df_country = df_total[df_total["country"] == country] area = px.area( df_country, x="time_period", y="obs_value", title=f"ORT Trend Over Time: {country}", pattern_shape_sequence=[pattern_shapes[i %len(pattern_shapes)]], )for trace in area.data: trace.update( line=dict(color="darkgreen", width=1.5), fillcolor=green_transparent, visible=(i ==0) ) fig.add_trace(trace)buttons = [dict(label=country, method="update", args=[{"visible": [j //1== i for j inrange(len(countries))]}, {"title": f"ORT Trend Over Time: {country}"}])for i, country inenumerate(countries)]fig.update_layout( updatemenus=[dict(active=0, buttons=buttons)], xaxis_title="Year", yaxis_title="ORT Coverage (%)", template="plotly_white")fig.show()
This chart tracks how individual countries have progressed over the years in providing ORT. Some nations display a steady rise, reflecting robust policy efforts and health campaigns. Others show erratic patterns or stagnation—signaling disruptions or neglected attention. These country-level insights empower policymakers to replicate success models and re-evaluate faltering initiatives.
3.4 4. Scatter Plot: GDP vs ORT Coverage
Show/Hide Code
fig_gdp_scatter = px.scatter( pdf, x="GDP per capita (constant 2015 US$)", y="obs_value", color="country", title="GDP per Capita vs ORT Coverage", labels={"GDP per capita (constant 2015 US$)": "GDP per capita (2015 US$)","obs_value": "% Receiving ORT" })X = pdf[["GDP per capita (constant 2015 US$)"]]X = sm.add_constant(X)y = pdf["obs_value"]model = sm.OLS(y, X).fit()pdf["regression"] = model.predict(X)fig_gdp_scatter.add_traces(go.Scatter( x=pdf["GDP per capita (constant 2015 US$)"], y=pdf["regression"], mode="lines", name="Regression Line", line=dict(color="black", dash="dot")))fig_gdp_scatter.update_layout(template="plotly_white")fig_gdp_scatter.show()
This scatter plot connects economic prosperity with health outcomes. Countries with higher GDP per capita generally show higher ORT coverage, revealing how economic strength often enables better health infrastructure. Yet, some lower-income countries outperform richer peers, showing that political will and targeted health initiatives can drive impact—regardless of financial constraints.
This graph uncovers the global range of ORT coverage each year—illustrating both progress and disparity. While the overall trend is upward, the persistent gap between highest and lowest coverage points to deep-rooted inequality. Bridging this gap demands international cooperation and localized intervention strategies that reach the most vulnerable.
5 Conclusion
This report provides insights into diarrhoea treatment across nations and its relationship with economic and healthcare factors.